From d12b76062a20a6baa7feaded80efdcb17c11ab3f Mon Sep 17 00:00:00 2001 From: "awilliam@xenbuild2.aw" Date: Mon, 12 Mar 2007 08:42:11 -0600 Subject: [PATCH] [IA64] Fix return value of hypercall from VT-i domain Signed-off-by: Tsunehisa Doi --- xen/arch/ia64/vmx/vmx_entry.S | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/xen/arch/ia64/vmx/vmx_entry.S b/xen/arch/ia64/vmx/vmx_entry.S index 74bf2ca4d3..ef400c4f53 100644 --- a/xen/arch/ia64/vmx/vmx_entry.S +++ b/xen/arch/ia64/vmx/vmx_entry.S @@ -477,6 +477,11 @@ GLOBAL_ENTRY(ia64_leave_hypercall) * resumes at .work_processed_syscall with p6 set to 1 if the extra-work-check * needs to be redone. */ + ;; + adds r16=PT(R8)+16,r12 + ;; + st8 [r16]=r8 + ;; (pUStk) rsm psr.i cmp.eq pLvSys,p0=r0,r0 // pLvSys=1: leave from syscall (pUStk) cmp.eq.unc p6,p0=r0,r0 // p6 <- pUStk @@ -484,6 +489,11 @@ GLOBAL_ENTRY(ia64_leave_hypercall) br.call.sptk.many b0=leave_hypervisor_tail .work_processed_syscall: //clean up bank 1 registers + ;; + adds r16=PT(R8)+16,r12 + ;; + ld8 r8=[r16] + ;; mov r16=r0 mov r17=r0 mov r18=r0 -- 2.30.2